package com.zzyl.mapper;

import com.zzyl.dto.ResourceDto;
import com.zzyl.entity.Resource;
import com.zzyl.vo.MenuVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface ResourceMapper {

    //查询资源列表
    List<Resource> selectResources(ResourceDto resourceDto);

    //根据编号查询资源
    Resource selectByResourceNo(@Param("resourceNo") String resourceNo);

    //新增资源
    void insertResource(Resource resource);

    //根据id查询资源信息
    Resource selectById(@Param("id") Long id);

    //资源修改
    void updateResource(Resource resource);

    //批量更新资源状态
    void updateStatusByNos(@Param("resourceNos") List<String> resourceNos,
                           @Param("dataState") String dataState);

    //更新资源状态
    void updateStatusByNo(Resource resource);

    //删除菜单资源
    void deleteByResourceNo(@Param("resourceNo") String resourceNo);

    //查询资源路径
    List<String> selectPathByUserId(@Param("userId") Long userId);

    //查询当前登录用户资源信息
    List<MenuVo> selectByUserId(@Param("userId") Long userId);
}
